package ma.coursEnsao.tp1.junit;

import ma.coursEnsao.tp1.dev.Calculatrice;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

public class CalculatriceTest {

	private static Calculatrice calc;
	
	 
	@BeforeClass
	public static void setUpClass() {
	}

	@AfterClass
	public static void tearDownClass() {
	}

	@Before
	public void setUp() throws Exception {
		calc = new Calculatrice();
	}

	@After
	public void tearDown() throws Exception {
		calc = null;
	}
	

	@Test
	public void testScenario1() {

		calc.taperTouche('5');
		calc.taperTouche('6');
		calc.taperTouche('+');
		calc.taperTouche('2');
		calc.taperTouche('0');
		calc.taperTouche('1');
		calc.taperTouche('1');
		calc.taperTouche('=');

		Assert.assertEquals(calc.getContenuEcran(), "2067");

	}

	@Ignore 
	public void testScenario2() {

		calc.taperTouche('3');
		calc.taperTouche('0');
		calc.taperTouche('4');
		calc.taperTouche('0');
		calc.taperTouche('-');
		calc.taperTouche('1');
		calc.taperTouche('0');
		calc.taperTouche('2');
		calc.taperTouche('0');
		calc.taperTouche('=');

		Assert.assertEquals(calc.getContenuEcran(), "2020");

	}

	@Ignore 
	public void testScenario3() {

		calc.taperTouche('9');
		calc.taperTouche('0');
		calc.taperTouche('*');
		calc.taperTouche('1');
		calc.taperTouche('1');
		calc.taperTouche('=');

		Assert.assertEquals(calc.getContenuEcran(), "990");

	}

	@Ignore 
	public void testScenario4() {

		calc.taperTouche('1');
		calc.taperTouche('4');
		calc.taperTouche('4');
		calc.taperTouche('/');
		calc.taperTouche('3');
		calc.taperTouche('=');

		Assert.assertEquals(calc.getContenuEcran(), "48");

	}

	@Test
	public void testScenario5() {

		calc.taperTouche('1');
		calc.taperTouche('4');
		calc.taperTouche('4');
		calc.taperTouche('/');
		calc.taperTouche('0');
		calc.taperTouche('=');

		Assert.assertEquals(calc.getContenuEcran(),
				"Erreur: division par Zero !!");

	}

	@Ignore 
	public void testScenario6() {

		calc.taperTouche('1');
		calc.taperTouche('0');
		calc.taperTouche('0');
		calc.taperTouche('F');
		calc.taperTouche('+');
		calc.taperTouche('2');
		calc.taperTouche('0');
		calc.taperTouche('=');

		Assert.assertEquals(calc.getContenuEcran(),
				"Erreur: Caractere 'F' non supporte !!");

	}

}
